package br.com.pizzaria.model.dao;

import java.io.Serializable;
import java.util.List;

import org.hibernate.criterion.Criterion;

import br.com.pizzaria.hDAO.GenericDAO;
import br.com.pizzaria.model.Usuario;

public class UsuarioDAO implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private GenericDAO<Usuario, Integer> dao;

	public void cadastrar(Usuario usuario) {
		dao = new GenericDAO<Usuario, Integer>(Usuario.class);
		dao.inclui(usuario);
	}

	public void alterar(Usuario usuario) {
		dao = new GenericDAO<Usuario, Integer>(Usuario.class);
		dao.altera(usuario);
	}

	public Usuario consultar(Usuario usuario) {
		dao = new GenericDAO<Usuario, Integer>(Usuario.class);
		usuario = (Usuario) dao.consulta(usuario.getIdUsuario());
		return usuario;
	}

	public List<Usuario> listarTodos() {
		dao = new GenericDAO<Usuario, Integer>(Usuario.class);
		Criterion in[] = new Criterion[] {};
		List<Usuario> listaUsuario = dao.listar(in, "login");
		return listaUsuario;
	}

	public void excluir(Usuario usuario) {
		dao = new GenericDAO<Usuario, Integer>(Usuario.class);
		dao.exclui(usuario);
	}

}
